package hsh.setintructions;


import hsh.gui.LashVisualInterface;
import hsh.util.Interruption;

public abstract class Instruction{

	
	
		
	
	
	private String opcode;
	private String parameterA;
	private String parameterB;
	private int amountSpendEnergy;
	private int amountSpendWater;
	protected LashVisualInterface gui;
	
	public Instruction(LashVisualInterface gui,String name,String parameterA,String parameterB) {
		super();
		this.opcode = name;
		this.parameterA = parameterA;
		this.parameterB = parameterB;
		this.gui = gui;
	}

	

	
	
	public  abstract Interruption execute( );

	public double geAmountSpendEnergy() {
		// TODO Auto-generated method stub
		return this.amountSpendEnergy;
	}

	public double getAmountSpendWater() {
		// TODO Auto-generated method stub
		return this.amountSpendWater;
	}





	public String getOpcode() {
		return opcode;
	}





	public void setOpcode(String opcode) {
		this.opcode = opcode;
	}





	public int getAmountSpendEnergy() {
		return amountSpendEnergy;
	}





	public void setAmountSpendEnergy(int amountSpendEnergy) {
		this.amountSpendEnergy = amountSpendEnergy;
	}





	public void setAmountSpendWater(int amountSpendWater) {
		this.amountSpendWater = amountSpendWater;
	}





	public String getParameterA() {
		return parameterA;
	}





	public String getParameterB() {
		return parameterB;
	}

}
